ASP.NET 專題實務 (II):進階範例應用, 2/e

ASP.NET 專題實務 (II):進階範例應用, 2/e

作者: 周棟祥 博士 MIS2000 Lab. 吳進魯
出版社: 博碩文化
出版在: 2019-10-30
ISBN-13: 9789864344420
ISBN-10: 9864344420
裝訂格式: 平裝
總頁數: 992 頁





內容描述


編寫本書的主要目的是要給已經學會ASP.NET基礎技能,而想要持續精進、提升能力的專業工程師,是一本具備實戰經驗的進階範例集,內容與範例均大幅改寫,並保留ASP.NET Web Form多版本的相容性,以「實戰經驗」、「務實範例」為主軸,每個範例都是網站必備,且是初學者最想學習的。全書涵蓋重點如下:
✪最詳細的「會員控管」範例,自己動手親自撰寫程式(Session),由淺入深,一應俱全。
✪會員權限控管,從入門的「障眼法」到「PlaceHolder動態加入控制項」。
✪GridView、ListView、DetailsView與FormView四大天王控制項,自己動手寫各種功能。
✪防範資料隱碼(SQL Injection)與XSS(跨網站腳本)攻擊。
✪透過Windows AD登入與網路銀行同級的「CA個人憑證」登入。
✪簡單完成多國語系的網站。MasterPage主版頁面的動態切換。
✪LinqDataSource、ObjectDataSource(商業物件)控制項的深入解說,搭配Class類別檔。
✪自己動手寫首頁、網站增修功能。不需大型控制項,磨練ADO.NET功力。
✪強調網站的Master-Detail(主表明細)涵蓋電子商務、知識管理、媒體網站各種需求。
✪CKEditor超強大的線上HTML輸入畫面。NPOI讓您讀取與輸出Excel檔。
✪網路問卷、線上投票、網路長條圖的應用。ASP.NET Chart(圖表)控制項入門。
✪不可思議的網頁圖表Google Chart + JavaScript與ASP.NET整合。
✪「全自動化投票」範例即裝即用。「動態問卷產生器」可自行搭配題型(單、複選、文字輸入)。
✪北風貿易系統、線上飲料訂購系統,一個畫面完成關聯式訂單、購物車。
✪OutputCache網頁輸出快取,輕而易舉提升網頁效能。
✪One ASP.NET,Web Form的Model Binding。

☞【範例檔下載】☜


目錄大綱


CHAPTER 01 MasterPage(主版頁面)
1-1 HTML網頁的頁框(frameset)
1-2 MasterPage主版頁面(.master檔)
1-3 使用MasterPage設計網頁
1-4 自動切換手機版MasterPage(.Mobile.master)
1-5 透過程式,動手存取MasterPage裡面的控制項
1-6 @MasterType指示詞,MasterPage的公開屬性
1-7 MasterPage與.FindControl()方法
1-8 MasterPage搭配FileUpload(檔案上傳)的技巧
1-9 透過程式,手動切換多個MasterPage檔案
1-10 巢狀(Nest)MasterPage
1-11 MasterPage與JavaScript、jQuery的搭配
CHAPTER 02 巡覽(Navigator)控制項與多國語系─Menu、TreeView、SiteMapPath
2-1 何謂Menu、TreeView、SiteMapPath?
2-2 Web.Sitemap檔案解析
2-3 SiteMapDatasource控制項
2-4 Case Study (I):動態變更巡覽內容與.sitemap檔
2-5 Case Study (II):寫程式抓取.sitemap檔各節點的屬性
2-6 Case Study (III):抓取此一節點底下是否還有子節點?
2-7 Case Study (IV):自建XML檔並搭配XmlDataSource自動產生節點
2-8 Case Study (V):搭配資料庫自動產生節點
2-9 多國語系與資源檔(.resx檔)
2-10 Case Study (VI):FormsAuthentication與Cookie的綜合應用
2-11 Case Study (VII):Menu控制項、MenuItem(功能表項目)與資料庫
CHAPTER 03 Theme(佈景主題)與Skin(面板)
3-1 控制項的Skin範本
3-2 佈景主題(Theme)
3-3 沿用既有的Skin面板檔案
3-4 搭配CSS樣式表
3-5 Case Study:動態改變佈景主題(Theme)
CHAPTER 04 商務物件與資料存取層ObjectDataSource控制項
4-1 ObjectDataSource控制項
4-2 ObjectDataSource的操作步驟
4-3 自己撰寫後置程式碼的ObjectDataSource
4-4 TableAdapter概觀
4-5 Case Study (I):ObjectDataSource主表明細(Master-Detail)
4-6 Case Study (II):中介層商務物件與ObjectDataSource控制項互動
4-7 Case Study (III):自訂商業物件(Class & XML)搭配ObjectDataSource
4-8 Case Study (IV):自訂商業物件(類別&強型別來源物件)
CHAPTER 05 DataBinding(資料繫結)
5-1 網頁程式連結資料庫的四大步驟
5-2 DataBinding(資料繫結)的革命
5-3 Code Behind,自己寫程式控管DataBinding的時機
5-4 GridView可「新增」?透過程式控制EmptyDataTemplate
5-5 DataBinding應用 (I):與Page.IsPostBack的關聯
5-6 DataBinding應用 (II):餐廳的點菜系統
5-7 DataBinding應用 (III):新增、修改、刪除
5-8 DataBinding應用 (IV):GridView內嵌DropDownList
5-9 FAQ常見問題與觀念釐清
5-10 Gridview的RowUpdating事件其他作法─e.NewsValues與IBindableTemplate介面
CHAPTER 06 DataBinding Expression,資料繫結運算式
6-1 樣板欄位的DataBinding Expression(繫結運算式)
6-2 Case Study (I):DetailsView與FormView文章換行換列?分段落?
6-3 Case Study (II):大型控制項樣板內的Calendar與DateTime
6-4 Eval與Bind的用法與異同
6-5 Repeater的樣板+HyperLink控制項
6-6 JavaScript的window.Open()與資料繫結運算式
6-7 Case Study (III):自己撰寫DataBinding Expression
6-8 資料繫結運算式的其他用法
6-9 單一數值(Single-Value)與重複數值(Repeated-Values)的資料繫結
6-10 Case Study (IV):成績不及格就出現警告
6-11 Case Study (V):GridView的加總與小計
6-12 補充範例:PreRender事件,在控制項出現在網頁「之前」就處理
CHAPTER 07 檔案上傳與資料庫的綜合範例
7-1 Case Study (I):ListView+FileUpload圖片式、棋盤式首頁
7-2 Case Study (III):fancybox的圖片效果(燈箱、圖層)
7-3 Case Study (IV):jQuery呈現多媒體檔案(fancybox)
7-4 Case Study (V):圖片(二進位)存入資料表,透過IO Stream處理
7-5 .ashx檔(泛型處理常式)範例與解說
7-6 Case Study(VI):圖片(二進位)存入資料表,FileContent與FileBytes屬性
7-7 將檔案放入資料庫的缺點& FILESTREAM設定步驟
CHAPTER 08 GridView匯出Excel檔與NPOI Library
8-1 傳統的作法(不建議使用)
8-2 輸出Excel檔,為何不建議上述傳統方法?
8-3 NPOI Library存取Excel檔案
8-4 在Visual Studio安裝NPOI Library
8-5 產生空白Excel,並添加三個試算表(Sheet)
8-6 寫入資料,放在Excel內的儲存格
8-7 將資料庫的紀錄,逐筆寫入Excel檔
8-8 凍結窗格(凍結、鎖定Excel欄位)
8-9 修改Excel儲存格的格式與加入公式
8-10 修改Excel儲存格的底色
8-11 上傳Excel檔案,讀取後寫入資料庫(批次上傳大量數據)
8-12 Excel欄位裡面有「公式」,如何取得「運算後的"值"」?
8-13 Excel版本只支援2003?NPOI其他問題?
8-14 Case Study:讀取Excel檔之後,繼續加入新的資料?
8-15 補充範例,GridView輸出各種格式(PDF、XML等)
CHAPTER 09 ADO.NET動手寫,主表明細(Master-Detail),首頁/留言版
9-1 Master—網站首頁
9-2 Master─網站首頁(改良版)
9-3 Master─網站首頁(搭配美工網頁)
9-4 Details─展現一筆紀錄的細部內容& SQL Injection攻擊
9-5 設定參數和參數資料型別(ADO.NET)
9-6 文章的留言功能(關聯式資料表)
9-7 自己動手寫出「分頁」程式
CHAPTER 10 線上問卷、自動化投票區、HTML長條圖
10-1 簡單投票 (I):計算每個候選人的總得票數
10-2 簡單投票 (II):每一票都是一筆記錄
10-3 Case Study:自動化投票
10-4 直立式長條圖
10-5 線上測驗系統(答題後,立即知道分數)
CHAPTER 11 自動化投票區(動態產生畫面&控制項)
11-1 觀念解析與構思、資料表的設計
11-2 PlaceHolder控制項與畫面設計
11-3 第一個Question_M資料表,問卷主題
11-4 Question_D1資料表,每一題(單選、複選、文字輸入)
11-5 如何抓取「動態產生」的控制項,被人填寫後的「值」?
11-6 小結
CHAPTER 12 網頁圖表—ASP.NET Chart控制項與Google Chart
12-1 ASP.NET Chart控制項,自動產生統計圖表
12-2 SQL指令的「扭轉」,PIVOT與UNPIVOT
12-3 Case Study:微軟MSDN範例
12-4 Case Study:Chart控制項轉成PDF、圖片檔
12-5 Google Chart,強大、簡單的JavaScript圖表API
12-6 ClientScriptManager類別—透過後置程式碼,撰寫JavaScript
12-7 ADO.NET將資料庫的數據變成Google Chart圖表
12-8 補充範例:其他網頁圖表產生器
CHAPTER 13 會員登入、後端管理區的權限管理(I)─使用Session
13-1 會員資料庫的設計
13-2 會員登入(會員專屬區)
13-3 每一支後端程式的保全人員,Include file與defense.aspx
13-4 Case Study (I):會員登入才能看見文章列表(GridView控制項+超連結)
13-5 Case Study (II):修改某位會員發表的文章(FormView控制項)
13-6 Case Study (III):唯有特定權限,才能修改資料
13-7 Case Study (IV):區分「編輯」與「刪除」的使用者權限
13-8 Case Study (V):區分「編輯」與「刪除」的使用者權限,障眼法與DataBinding Expression
13-9 Case Study (VI):密碼過期(定期更新密碼)&新密碼不跟舊的重複
13-10 Case Study (VII):註冊後,透過E-Mail啟動會員權益
13-11 Case Study (VIII):網頁的虛擬鍵盤
13-12 EnableSessionState屬性,讓ASP.NET效能更好
CHAPTER 14 會員登入、後端管理區的權限管理(II)─GridView的RowCreated與RowDataBound事件
14-1 唯有本人可修改 (I)─障眼法、.FindControl()方法
14-2 唯有本人可修改 (II)─動態加入命令欄位,PlaceHolder控制項
14-3 同一筆記錄的某些欄位可編輯?唯讀?
CHAPTER 15 會員登入─MD5與SHA1雜湊與資料保護(System.Security.Cryptography命名空間)
15-1 MD5雜湊演算法,進行密碼保護
15-2 Case Study (I):將會員的密碼,透過MD5雜湊處理
15-3 Case Study (II):SHA1演算法
15-4 RSA演算法,雙向加/解密(僅供參考)
CHAPTER 16 FormsAuthentication與Cookie、Windows AD驗證(Active Directory網域服務)、個人CA憑證
16-1 FormsAuthentication與Cookie的綜合應用
16-2 Active Directory網域服務驗證(Windows AD帳號登入)
16-3 DirectoryEntry與DirectorySearcher類別
16-4 個人CA憑證,網路銀行與線上交易
16-5 網站如何申請SSL(https)
CHAPTER 17 如何寫出安全的ASP.NET與注意事項
17-1 指令碼攻擊
17-2 防範惡意的指令碼
17-3 可能遭受攻擊的HTML標籤,XSS攻擊
17-4 避免提供太多的錯誤訊息
17-5 縮減帳號的權限,越小越安全
17-6 如何設定安全密碼並增加密碼強度?
CHAPTER 18 Microsoft Anti-XSS Library與跨網站腳本攻擊
18-1 安裝最新的Microsoft Anti-XSS Library
18-2 AntiXSS編碼方式與修正Web.Config的預設編碼
18-3 不同命名空間的.HtmlEncode()方法
18-4 .UrlEncode()與.UrlPathEncode()方法
18-5 Anti-XSS Library的Sanitize類別
CHAPTER 19 自訂「資料新增」畫面/CKEditor線上網頁編輯器
19-1 透過SqlDataSource精靈,不需寫程式
19-2 實力扎根!自己手寫DataSet+DataAdapter後置程式碼
19-3 Case Study (I):當心SQL Injection攻擊
19-4 Case Study (II):新增一筆資料後,取得自動識別id(Primary Key)
19-5 線上HTML編輯器,CKEditor
19-6 Case Study (III):新增紀錄順便檔案上傳,FormView+FileUpload
CHAPTER 20 北風貿易Master-Detail關聯式訂單一頁搞定
20-1 關聯式資料表之間的「關係」
20-2 訂單系統的報表功能(不用寫程式)
20-3 訂單系統的新增資料
20-4 Case Study:一氣呵成的訂單系統(資料新增)
CHAPTER 21 泡沫紅茶線上訂購系統(另一種購物車,自訂資料庫)
21-1 設計概念與工作流程
21-2 系統執行畫面與流程
21-3 設計資料表
21-4 HTML設計畫面(訂單主檔,Master部份)
21-5 訂單明細的Detail部份 (I):挑選飲料
21-6 訂單明細的Detail部份 (II):確認飲料的糖份、冰塊量
21-7 訂單明細的Detail部份 (III):每次輸入完成,GridView展示最新狀態
21-8 如何確定訂單已完成(可出貨)?
CHAPTER 22 LinqDataSource控制項與DataContext類別
22-1 單一資料表
22-2 LinqDataSource與SqlDataSource的HTML標籤,差異在哪?
22-3 關聯式資料表(留言版的功能)
22-4 LinqDataSource類別
22-5 進階!自己動手寫LINQ程式
22-6 Case Study:自己撰寫Class作為資料來源,搭配LINQ
22-7 LINQ-to-SQL的分頁,Skip與Take函式
22-8 LINQ基礎語法(線上閱讀與補充文章)
CHAPTER 23 Model Binding與Web Form
23-1 第一個Model Binding程式(Web Form)
23-2 修改版,Model Binding與ADO.NET
23-3 Case Study:搜尋引擎,簡單的Model與類別檔
23-4 Model Binding、ADO.NET分頁與技巧改善
23-5 微軟MSDN範例:Model Binding與ASP.NET Web Forms
23-6 Model Binding與非同步(Async.)
23-7 Model Binding與Repository
23-8 常見問題:ASP.NET Web Form與MVC如何抉擇?
CHAPTER 24 ASP.NET輸出快取、OutputCache與PartialCachingAttribute類別
24-1 ASP.NET快取概論
24-2 網頁輸出快取,@OutputCache指示詞
24-3 相同內容進行快取,VaryByParam屬性
24-4 相同內容進行快取,VaryByControl屬性
24-5 @OutputCache指示詞的屬性與介紹
24-6 SqlDependency屬性,將@OutputCache搭配SQL Server
24-7 使用者控制項(User Control)的輸出快取,PartialCachingAttribute類別
24-8 Case Study (IV):使用者控制項(User Control)搭配OutputCache
CHAPTER 25 Visual Studio「專案」與「網站」之異同、IIS網站部署
25-1 Visual Studio的「專案」與「網站」有何不同?
25-2 安裝與測試IIS(Web Server環境)
25-3 Visual Studio的「專案」與IIS部署
25-4 IIS的移難排除
25-5 Visual Studio的「網站」與IIS部署
25-6 網站上線前的基本觀念


作者介紹


周棟祥 博士
現職:國立高雄科技大學 資訊管理學系副教授兼教育事業暨產品推廣處處長
學歷:國立政治大學 資訊管理博士(2004/09~2008/02)
   國立中正大學 資訊管理碩士(1999/09~2001/07)
研習:德國阿亨工業大學(RWTH AACHEN University)
   新加坡國立大學(National University of Singapore)
   新加坡南洋理工大學(Nanyang Technological University)
經歷:企業整合中心主任
   研究發展處副研發長
   區域產學合作中心主任
   研究發展處推廣教育中心主任
   研究發展處產學組組長
   區域產學合作中心執行長
   研究發展處推廣服務及教育組組長
   管理學院院長特別助理
   中華電信助理研究員
專長領域:服務科學、客戶關係管理、電信營運管理、電子商務、行動服務、工業4.0、物聯網與大數據應用
吳進魯
學歷:國立屏東科技大學 資訊管理研究所碩士
經歷:
(1)1998~2000年為國立屏東科技大學計算機中心、屏東縣教育局舉辦的多場資訊教育訓練擔任講師(授課時數超過250小時)。
(2)國防役四年。資策會各式網站系統開發(七年經驗)、電信產業分析與Internet指標研究工作。
(3)資策會 教育訓練中心(南區)專任講師(專長Web程式設計)。負責600小時之就業輔導班。
(4)星動計畫B2Bi(XML資料交換,採用RosettaNet標準),VB 6.0與MS BizTalk Server系統開發與維護。客戶為國內電子業十大股票上市公司。
(5)任職於國內某資通大廠(全球資訊業百大公司),負責軟體技術規劃與系統整合。
(6)2008/4/1~2017/7/1榮獲MVP(微軟最有價值專家),專長ASP.NET。
(7)2010~2012年台中市電腦公會辦理 行政院勞委會職訓局 產業人才投資計畫,擔任ASP.NET專任講師。
(8)2015年起投入線上教學(遠距教學)並提供ASP.NET(WebForm與MVC)教學影片,讓學員線上學習。
審稿教授---
吳盛 博士
現職:南台科技大學 資訊管理學系 副教授
學歷:國立中山大學 資訊管理博士
經歷:國立中山大學 資訊管理學系兼任講師
   國立中山大學 企業管理學系兼任講師
   國立屏東科技大學 資訊管理學系兼任講師
   國立高雄餐旅學院 通識中心兼任講師
專長領域:資訊管理、知識管理、電子商務




相關書籍

ASP.NET 4.0 網頁程式設計速學對策─使用 C#

作者 文淵閣工作室

2019-10-30

Java少兒編程

作者 [西] 納迪婭·阿梅西亞內·加西亞

2019-10-30

Real World .NET, C#, and Silverlight: Indispensible Experiences from 15 MVPs (Paperback)

作者 Bill Evjen Dominick Baier György Bal?ssy Gill Gleeren David Giard Alex Golesh Kevin Grossnicklaus Caleb Jenkins Jeffrey Juday Vishwas Lele Jeremy Likness Scott Millett Christian Nagel Daron Yondem Christian Weyer

2019-10-30